Remote wind turbine reset system and method

ABSTRACT

The present invention includes a Computer Assisted Reset (CAR) system that allows a central operations team to remotely reset turbine faults across multiple wind turbine platforms and SCADA systems with a single interface. The system also allows automatic resets to occur. One aspect of the invention includes a Modbus to OPC Translator. The translator permits the implementation of a system where a PLC located at wind turbine control sites can accept control messages or commands organized or formatted in accordance with the Modbus protocol and sent over an Internet Protocol connection, with the translator receiving the requests through the PLC and generating an appropriate OPC (“OLE Process Control”) request. The OPC request may then be passed onto a corresponding OPC server residing in the SCADA system for each wind turbine control site.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a method for resetting wind turbines.More particularly, the present invention relates to the automatic andremote resetting of wind turbines without manual operator assistance.

2. Description of the Related Art

In order to improve the response time of fleet performance anddiagnostic (“FPDC”) operators to wind turbine alarm conditions thatrequire a turbine reset, a new method of applying limited remote controlis necessary. The current methods require that operators use a remoteterminal connection to each site's Supervisory Control and DataAcquisition (“SCADA”) system to manually reset turbines. This is a slow,cumbersome process and introduces unnecessary delays due to the timerequired in maintaining separate remote connections to multiple sitesand in dealing with several types of SCADA systems having differing userinterfaces.

This invention defines a specification for a new method of remoteturbine reset control by utilizing a single interface to communicatewith all sites. The purpose of this control interface is to provide anexternal mechanism to reset wind turbines from a remote location by anoperator using a single unified software application, such as a windalarm monitor. Further, the present invention makes use of programmablelogic controllers (“PLC”) which are advantageous compared to regularcomputers in that they are not prone to viral attacks and in that theydo not require operating system updates.

SUMMARY OF THE INVENTION

The following presents a simplified summary of the invention in order toprovide a basic understanding of some aspects of the invention. Thissummary is not an extensive overview of the invention. It is intended toneither identify key or critical elements of the invention nor delineatethe scope of the invention. Its sole purpose is to present some conceptsof the invention in a simplified form as a prelude to the more detaileddescription that is presented later.

The present invention covers a Computer Assisted Reset (CAR) system thatallows a central operations team to remotely reset turbine faults acrossmultiple wind turbine platforms and SCADA systems with a singleinterface. The system also allows automatic resets to occur.

One aspect of the invention includes a Modbus to OPC Translator (the“MOT program”). The MOT program permits the implementation of a systemwhere a PLC located at each wind turbine control site can accept controlmessages or commands organized or formatted in accordance with theModbus protocol and sent over an Internet Protocol connection, with theMOT Program receiving the requests through the PLC and generating anappropriate OPC (“OLE Process Control”) request. The OPC request is thenpassed onto the respective OPC server residing in the SCADA system foreach wind turbine control site. In a preferred embodiment, Modbus isused for sending control commands because Modbus is easily supported bysmall, inexpensive PLCs which can be maintained at a fraction of thecost of using PCs, which are normally required to support OPC.

The following description and the annexed drawings set forth in detailcertain illustrative aspects of the invention. These aspects areindicative, however, of but a few of the various ways in which theprinciples of the invention may be employed and the present invention isintended to include all such aspects and their equivalents. Otheradvantages and novel features of the invention will become apparent fromthe following detailed description of the invention when considered inconjunction with the drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a control interface to a SCADA system in accordancewith one embodiment of the present invention;

FIG. 2 illustrates a control signal sequence in accordance with oneembodiment of the present invention;

FIG. 3 illustrates flow control logic for a SCADA system in accordancewith one embodiment of the present invention;

FIG. 4 illustrates a Computer Assisted Reset system in accordance withone embodiment of the present invention; and

FIG. 5 illustrates a turbine reset dashboard in accordance with oneembodiment of the present invention.

DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

SCADA Interface and Data Flow Direction

Interface 101 communications via the Object-linking-and-embedding (OLE)for Process Control interface (the OPC specification) use the commandstructure shown in FIG. 1. The SCADA 103 in turn controls a wind turbine105, for example.

Control Interface

The control interface 101 of the invention may utilize the signalsdescribed in the chart below for the functions indicated. In accordancewith one embodiment of the present invention, a communications protocolthat is suitable for data transfer is used to transfer the signals.

Digital/ Read/ Signal Analog Write Description FOFC A R First OccurrenceFault Code. SCADA 103 sets the initial fault code when RDY is 0 andturbine 105 requires reset RST D RW Reset register set by remote toinstruct SCADA 103 to reset. Application clears on ACK or timeout ACK DR Acknowledge to reset. Set by SCADA 103, cleared by SCADA 103 whenturbine 105 is ready (RDY = 1) RDY D R Set by SCADA 103 to indicateturbine 105 ready. SCADA 103 also clears ACK and FOFC when this value is1 STOP D RW Command to stop the turbine 105 (Load Shutdown). Set byremotely. SACK D R STOP signal Acknowledge set by SCADA 103. Cleared bySCADA 103 when turbine 105 is shutdown.

The diagram in FIG. 2 shows the signal sequencing and relationships. Asshown in the Figure, in one embodiment of the present invention theSCADA system clears the FOFC value and clears the ACK signal when itsets the RDY signal to 1, indicating that the turbine is ready.

SCADA Logic Flowchart

A SCADA logic flowchart is illustrated in FIG. 3 in accordance with oneembodiment of the present invention. In a first step 301, the processdetermining whether the turbine is ready. The RDY (Ready) signal iscleared to false 303 (0) by the SCADA logic when a turbine is faultedand requires a reset. The RDY (Ready) signal is set 305 to true (1) bythe SCADA logic when a turbine has been reset, comes out of a faultcondition, and is ready to produce power if there is sufficient wind.When the RDY signal is set to true, the SCADA logic must also clear theACK signal and set the FOFC value to O. The RDY is a Read Only signal tothe remote application or operator. Only the SCADA logic can modify thesignal.

The RST or Reset signal is set 307 by the remote application used by anoperator, for example application 403 (FIG. 4). Its purpose is toinstruct the SCADA logic to reset the turbine. The RST signal will becleared to false (0) by the remote application after it receives the ACKsignal or after a timeout period where the ACK signal was not set totrue. The latter condition would indicate a possible failure incommunications or SCADA driver failure. The RST is a Read-Write signalto the remote application or operator. Only the remote application canmodify the signal.

The ACK or Acknowledge signal is set 309 by the SCADA logic in responseto an RST signal. An ACK signal must be set to true (1) by the SCADAlogic when it receives the RST. The acknowledge informs the remoteapplication/operator that the SCADA logic accepted the command and is inthe process of resetting the turbine 311. The ACK is a Read Only signalto the remote application or operator. Only the SCADA logic can modifythe signal.

The FOFC or First Occurrence Fault Code signal is set by the SCADA logicwhen a turbine encounters a fault condition that requires a manualremote reset. The FOFC is an analog fault code value that specifies theinitial fault code causing the trip or reset-able event. The FOFC iscleared 305 when a turbine returns to a ready state and is ready toproduce power. The FOFC is a Read Only signal to the remote applicationor operator. Only the SCADA logic can modify the signal 313.

The STOP signal is set 315 by the remote application used by anoperator. Its purpose is to instruct the SCADA logic to shut down theload and stop generating power. The STOP signal will be cleared to false(0) by the remote application after it receives the SACK signal or aftera timeout period where the SACK signal was not set to true 317. Thelatter condition would indicate a possible failure in communications orSCADA driver failure. After receiving the SACK, the remote applicationwill clear (0) the STOP signal. The STOP is a Read-Write signal to theremote application or operator. Only the remote application can modifythe signal.

The SACK or Acknowledge signal is set by the SCADA logic in response toa STOP signal. An SACK signal must be set 317 to true (1) by the SCADAlogic when it receives the STOP. The acknowledge informs the remoteapplication/operator that the SCADA logic accepted the command and is inthe process of shutting down the turbine 321. The SACK is cleared 319(0) when the STOP signal is cleared (0) by the remoteapplication/operator. The SACK is a Read Only signal to the remoteapplication or operator. Only the SCADA logic can modify the signal.

Computer Assisted Reset (CAR)

FIG. 4 illustrates the CAR system 400 in accordance with one embodimentof the present invention. FPDC operators 401 have the ability toremotely reset wind turbines that have faulted at selected sitesdirectly from the Wind Alarm Monitor 403 through a single centralizeddashboard (FIG. 5). The Turbine Alarm Monitor is a software applicationthat sends turbine reset commands. This increases the efficiency andproductivity of the FPDC by minimizing the time spent in logging intoindividual site SCADA servers, navigating different menus, and issuingindividual commands to reset turbines 415. The system includes a PLC 411located at each wind site that directly interfaces to the wind turbinecontrollers 413 for start, stop, and reset operations. The host side ofthe PLC interfaces to a CAR software service running on a Matrix server407 that interfaces directly with the Wind Alarm Monitor 403 used by theFPDC. The system 400 also includes a wind turbine status database 405for storing the statuses of the various wind turbines.

The CAR Panel 411 may include a Modicon PLC that serves 2 functions. ThePLC monitors the status of the turbines 415 and the site by polling theSCADA system 413 and normalizes this information to the Turbine AlarmMonitor 403 in the FPDC. The PLC receives turbine reset commands fromthe Turbines Alarm Monitor 403 in the FPDC 401, translates the commandsto the various types of wind turbine manufacturers, and issues theresets to the faulted turbines via the existing SCADA servers.

Modbus to OPC Translator

The MOT program permits the implementation of a system where a PLClocated at each wind turbine control site can accept control messages orcommands organized or formatted in accordance with the Modbus protocoland sent over an Internet Protocol connection, with the MOT receivingthe requests through the PLC and generating an appropriate OPC (“OLEProcess Control”) request. The OPC request is then passed onto therespective OPC server (not illustrated in FIG. 4) residing in the SCADAsystem 413 for each wind turbine control site. In one embodiment of theinvention, the MOT program and the OPC server may be part of the SCADA413 illustrated in FIG. 4.

This invention provides a common central system that will reset faultedwind generator turbines. The decision when to issue reset commands willbe based upon a protocol developed by FPDC operators, for example, inaccordance with the specific application parameters. This goal is toprovide a homogenous method of issuing the turbine resets across all ofthe various SCADA systems.

One advantage of using Modbus over IP is that it is easily supported bysmall, inexpensive PLCs (programmable logic controllers) which do notrequire virus protection or operating system updates. Because of theindustrial nature of PLCs and the IEC 61131 standardization of theprogramming, these PLCs can be maintained at a fraction of the cost ofusing PCs, which are required to support OPC. Therefore, in wind farmsthat use turbines from multiple manufacturers, it makes sense to useModbus as the homogenous data protocol for the advanced softwareapplication to use for the turbine resets.

Until such time as all wind turbine manufacturers support a Modbus Slavefunction, there is a need for a program, or translator, that acceptsModbus over IP requests from a remote location, via a PLC at each site,and that generates the appropriate OPC request into SCADA systems usingan OPC interface.

In accordance with one embodiment of the present invention, the Modbusto OPC Translator (MOT) accepts Modbus requests over TCP/IP for all ofthe Modbus data types and register types. A defined table within MOTmaps the Modbus request type and address to an OPC Server and Tag. Thedata type from the Modbus request is converted to and from the data typerequired by the OPC tag.

Modbus addresses do not have to fill a sequential Modbus addressingspace, but the Modbus interface allows for multiple register Modbustransactions. The OPC client side bundles these multiple registerrequests into an OPC group and transact it as a single request tominimize network traffic. As these requests are continual andrepetitive, any such OPC groups will be maintained once created.

The MOT program of the present invention may reside on any computerlocal to the OPC server (not necessarily on the same computer as the OPCserver), so a 100 mb or better Ethernet connectivity is preferred. TheMOT program maintains a status check on the connectivity to the OPCserver via a selectable tag that is constantly polled, and concurrentlymaintains a Modbus register to report that status. Each time theconnectivity with the OPC server is confirmed, the Modbus status isincremented by modulo 1000. Upon loss of connectivity with the OPCserver, the MOT program is continually attempting to reconnect until theconnection is reestablished.

The MOT program allows for either (i) polled or (ii) read-on-demandinputs of OPC data that the FDPC computer, via the PLC, reads from theOPC server via the MOT program. The polling rate is configurable inseconds. In the case where data is polled by the MOT program and a readrequest comes in, the MOT program immediately returns the latest value.If the data is read-on-demand, then when a read request arrives from theModbus master, the MOT program initiates the read from the OPC serverand does not reply to the Modbus request until the data has beenretrieved from the OPC server.

Reads from the Modbus master that arrive while communications with theOPC server is down will return the Slave Device Failure error.

Reads or writes from the Modbus master that reference Modbus addressesnot defined with corresponding OPC addresses (except any MOT healthtags) returns an Illegal Address error.

Writes from the Modbus master that arrive while communication with theOPC server is down will be retried for a configurable number of secondsand, if communication has not been reestablished, will be cleared fromthe Modbus register and ignored. These writes are not allowed to succeedafter the timeout period.

The MOT program can be configured via a text file import. It alsopermits configuration of the OPC tags via a browse list of availableservers and tags.

The MOT program follows current Modbus over IP standards, including theability to process overlapped Modbus requests. It also accepts datarequests in the byte order that may be generated, for example, by aModicon TSX Momentum PLC acting as a Modbus master.

Standard Modbus Error Handling

The MOT program provides standard Modbus slave error handling, asfollows: When a master device sends a query to a slave device it expectsa normal response. One of four possible events can occur from themaster's query: (a) the slave device receives the query without acommunication error, handles the query normally, and returns a normalresponse; (b) the slave does not receive the query due to acommunication error, no response is returned, and the master programwill eventually process a time-out condition for the query; (c) theslave receives the query but detects a communication error (parity, LRCor CRC), no response is returned, and the master program will eventuallyprocess a time-out condition for the query; (d) the slave receives thequery without a communication error but cannot handle it (i.e., requestis to a nonexistent coil or register), and the slave will return with anexception response informing the master of the nature of the error(Illegal Data Address.) The exception response message may include twofields that differentiate it from a normal response. In a normalresponse, the slave echoes the function code of the original query inthe function code field of the response. All function codes may have amost-significant bit (MSB) of 0 (i.e., their values are below 80 hex).In an exception response, the slave sets the MSB of the function code to1, making the function code value in an exception response exactly 80hex higher than the value would be for a normal response. With thefunction code's MSB set, the master's application program can recognizethe exception response and can examine the data field for the exceptioncode. Additionally, in a normal response, the slave may return data orstatistics in the data field. In an exception response, however, theslave returns an exception code in the data field. This code defines theslave condition that caused the exception. Exemplary exception codes areset forth in the following table:

Exception Code Definition Description 01 Illegal Function The messagereceived is not an allowable action for the addressed device. 02 IllegalData The address referenced in the function- Address dependent datasection of the message is not valid in the addressed device. 03 IllegalData The value referenced at the addressed device Value location is notwithin range. 04 Slave Device The addressed device has not been able toFailure process a valid message due to a bad device state. 06 SlaveDevice The addressed device has ejected a message Busy due to a busystate. Retry later. 07 NAK, Negative The addressed device cannot processthe Acknowledge current message. Issue a PROGRAM POLL to obtaindevice-dependent error data. 09 Buffer The data to be returned for therequested Overflow number of registers is greater than the availablebuffer space. Function Code 20 only.

The following sections detail the design specifications andconsiderations that may be used when implementing the MOT program. Onepurpose of the MOT is to translate MODBUS requests into OPC requests.MOT acts as both a MODBUS slave device, and as an OPC client. MOT keepsan internal table mapping MODBUS register addresses to OPC Item IDs onspecific OPC Servers. Data written from a MODBUS master to MOT istranslated and written to an OPC Server. Data read from an OPC server istranslated and provided to a MODBUS client on demand.

MOT may be configured via a GUI interface. MOT also supports the abilityto load a configuration from a text file. The primary information thatis configured is the Address Table which identifies supported MODBUSaddresses and their corresponding OPC servers and item IDs. The AddressTable includes a list of memory blocks, each of which represents acontiguous set of MODBUS registers. In one embodiment, each memory blockmay have the following parameters.

Block Parameter Description Address Range The range of MODBUS addressesthat this memory block covers. OPC Server The ProgID of the OPC serverthat this memory block will communicate with. This may also include amachine name for remote OPC server connection. Update Type Demand orPolled. Demand may mean that MOT will read the data from the OPC serveronly to fulfill a MODBUS request. Polled may mean that MOT will poll theOPC data on a regular basis and keep a local cache of the data forfulfilling read requests. Update Rate Rate at which to read the OPCdata, in seconds. Used for Polled data only.

Additionally, in one embodiment each memory block contains informationof the OPC item IDs that map to the particular registers each entry inthis list will contain:

Address Parameter Description Item ID The OPC item ID that will be usedfor this point. OPC Data Type The data type of the point in OPC. MODBUSAddress The address that this item corresponds to. This will be thestarting address. One or more registers may be required depending on theMODBUS data type (below). MODBUS Data Type The data type of the item inMODBUS. This determines how many registers will be used to store thedata. Heartbeat Flag This is a special flag that marks this as aheartbeat item. A heartbeat item is a read-only point that does nottransmit the OPC value to MODBUS. Instead, it holds a counter thatincrements each time the OPC value is read. A heartbeat flag can only beused on a Polled address.

MOT acts as a MODBUS TCP slave device. It listens for incomingconnection requests using standard MODBUS/TCP practices and parameters.The unit identifier parameter may be ignored. The following MODBUScommands are supported:

Ox03—Read Holding Registers

Ox I 0—Write Multiple Registers

OxO 1—Read Coils

OxOF—Write Multiple Coils

In one embodiment of the present invention, all MODBUS addresses areholding registers (4x) or coils (Ox) and all MODBUS requests are for asingle memory block. That is, in one embodiment of the present inventiona single request cannot go past the boundaries of a memory block, oroverlap another memory block.

In one embodiment of the present invention MOT also acts as an OPCclient program. It supports OPC Data Access versions 1.0 and 2.0, forexample. MOT may use only synchronous I/O for OPC reads and writes inone embodiment. On startup, MOT attempts to create a connection to allrequired OPC servers, and then create the groups and items needed, asdetermined by the configured memory blocks. If MOT fails to connect to aserver, or if a connection to a server fails, MOT returns an error forany MODBUS requests to that server. In one embodiment of the presentinvention, MOT will continue to retry connecting to any disconnectedservers indefinitely.

On startup, MOT opens listener sockets for MODBUS connections, andattempts to connect to all OPC servers as described above. During normaloperation, MOT will accept incoming MODBUS requests and try to matchthem to an existing memory block. For a read request, MOT may eitherreturn the cached data (for polled blocks), or read the OPC group (fordemand groups). It will then convert the OPC data and build and send aMODBUS response. And for a write request, MOT may convert the data asneeded and write it to the OPC server.

When the write is complete, MOT will build and send a MODBUS responsemessage.

In one embodiment of the invention, MOT returns the following MODBUSerror codes:

Error Name Code Sent If . . . Illegal Data 0x02 A request is receivedfor an address not in the Address configuration, or which is notcontained in a single memory block. Illegal Data 0x03 A value isreceived which cannot be converted Value into the final data type. SlaveDevice 0x04 Communications with the specified OPC server Failure arelost.

FIG. 5 illustrates a turbine reset dashboard 500 in accordance with oneembodiment of the present invention. The Turbine Reset Dashboard Windowdynamically lists all turbine faults 501 across all sites in real time.A check box to reset a turbine is provided for those sites that have aCAR panel installed. The operator can select 503 one or several faultedturbines to be reset and click one button 505 issue all the commands atonce. In addition to issuing the reset command, the Wind Alarm Monitormay create an automated log entry into the Wind Unit Status databasewith the associated fault information, time, date, and SLID values. Thebackground services that communicate to the CAR panels may also trackWAM alarm, reset, acknowledge, retry, and turbine online timestamps foradditional auditing.

The foregoing description of possible implementations consistent withthe present invention does not represent a comprehensive list of allsuch implementations or all variations of the implementations described.The description of only some implementation should not be construed asan intent to exclude other implementations. For example, artisans willunderstand how to implement the invention in many other ways, usingequivalents and alternatives that do not depart from the scope of theinvention. Moreover, unless indicated to the contrary in the precedingdescription, none of the components described in the implementations areessential to the invention.

What is claimed is:
 1. A system for resetting turbines comprising: aplurality of turbines; a remote alarm monitor system for issuing Modbusrequests to control all or a subset of the plurality of turbines atonce; and a plurality of PLCs corresponding to the plurality ofturbines, each PLC configured to receive Modbus requests and process therequests in accordance with a type of turbine associated with that PLC;wherein said plurality of PLCs monitor the status of said plurality ofturbines and provides status information to said remote alarm monitorsystem; wherein said plurality of PLCs poll a wind site SCADA systemassociated with the plurality of turbines to determine statusinformation; and wherein said wind site SCADA system associated with theplurality of turbines comprises an OPC server and a module for receivingModbus turbine control requests processed by PLCs and translating theserequests into OPC control requests.
 2. The system of claim 1, whereinthe turbine control requests comprise reset, start, or stop commands. 3.The system of claim 1, wherein said turbines are wind turbines.
 4. Thesystem of claim 1, wherein the remote alarm monitor system comprises adatabase for storing status of the plurality of turbines.
 5. The systemof claim 1, wherein said module for receiving Modbus turbine controlrequests and translating the requests into OPC control requestscomprises a table to map a Modbus request type and address to an OPCserver and tag.
 6. The system of claim 1, wherein said module forreceiving Modbus turbine control requests and translating the requestsinto OPC control requests maintains a status check on the connectivityto the OPC server via a selectable tag that is polled and maintains aModbus register to report that status.
 7. The system of claim 1, whereinsaid module for receiving Modbus turbine control requests andtranslating the requests into OPC control requests functions as a ModbusTCP slave device.
 8. The system of claim 1, wherein said module forreceiving Modbus turbine control requests and translating the requestsinto OPC control requests functions as an OPC client program.
 9. Thesystem of claim 1, wherein the remote alarm monitor system comprises: acomputing device configured to display in real-time status informationcorresponding to the plurality of turbines.
 10. The system of claim 1,wherein said status information comprises fault information.
 11. Thesystem of claim 1, wherein the remote alarm monitor system comprises: acomputing device configured to allow an operator to select one orseveral faulted turbines to be reset.
 12. The system of claim 11,wherein the computing device is also configured to allow a user to issueall commands to reset turbines at once.
 13. A system for resettingturbines comprising: a plurality of turbines; a remote alarm monitorsystem for issuing Modbus requests to control all or a subset of theplurality of turbines at once, the remote alarm monitor system includinga computing device, the requests including at least one of a reset,start, or stop command issueable to one or several turbines; a pluralityof PLCs corresponding to the plurality of turbines, each PLC configuredto receive Modbus requests and process the requests in accordance with atype of turbine associated with that PLC; and a wind site SCADA systemcorresponding to the plurality of turbines, the SCADA system comprisingan OPC server and a module for receiving Modbus turbine control requestsprocessed by PLCs and translating these requests into OPC controlrequests; wherein said plurality of PLCs monitor the status of saidplurality of turbines and provides status information to said remotealarm monitor system; and wherein said plurality of PLCs poll said windsite SCADA system associated with the plurality of turbines to determinestatus information.
 14. The system of claim 13, wherein the computingdevice is configured to display in real-time status informationcorresponding to the plurality of turbines.
 15. The system of claim 13,wherein the computing device is configured to allow a user to issue therequests to every one of the plurality of turbines at once.
 16. A systemfor resetting turbines comprising: a plurality of turbines; a remotealarm monitor system for issuing Modbus requests to control all or asubset of the plurality of turbines at once, the remote alarm monitorsystem including a computing device and a database for storing a statusof the plurality of turbines; a plurality of PLCs corresponding to theplurality of turbines, each PLC configured to receive Modbus requestsand process the requests in accordance with a type of turbine associatedwith that PLC; and a wind site SCADA system corresponding to theplurality of turbines, the SCADA system comprising an OPC server and amodule for receiving Modbus turbine control requests processed by PLCsand translating these requests into OPC control requests; wherein saidplurality of PLCs monitor the status of said plurality of turbines andprovides status information to said remote alarm monitor system; andwherein said plurality of PLCs poll said wind site SCADA systemassociated with the plurality of turbines to determine statusinformation.
 17. The system of claim 16, wherein the turbine controlrequests comprise reset, start, or stop commands.
 18. The system ofclaim 16, wherein the computing device is configured to display inreal-time status information corresponding to the plurality of turbines.